// pages/search/search.js
const DB=wx.cloud.database().collection("search")
Page({

  /**
   * 页面的初始数据
   */
  data: {
    inputShowed: false,
    key:[],
    array:[],
    newsList:[]
  },
  bindtapFunc: function (e) {

    console.log(e.currentTarget.dataset.text)
    console.log(e.currentTarget.dataset.type)
    var that = this;
    if (e.currentTarget.dataset.type == 'H' || e.currentTarget.dataset.type=='P'){
      wx.navigateTo({

        url: '../../pages/search_detail/search_detail?val=' + e.currentTarget.dataset.text
      })
    }
    if (e.currentTarget.dataset.type  == 'M') {
      wx.navigateTo({
        url: '../../pages/medical/medical?val=' + e.currentTarget.dataset.text
      })
    }
  
  },
  //输入框值改变，就会触发
  handleInput(e){
    console.log(e);
    const{value}=e.detail;
    if (!value.trim()) {//用户没有输入 全部显示
      this.setData({
       newsList: []
      })
      return;
     }
    if(value)
      this.search(value);
  },
search(key){
  if (key == '') {//用户没有输入 全部显示
    that.setData({
     newsList: []
    })
    return;
   }
  var that = this;
  var arr = [];//临时数组 用于存放匹配到的数据
  console.log(this.data.array);
    for (let i in this.data.array) {
     
      if (this.data.array[i].name.indexOf(key) >= 0 || this.data.array[i].ename.indexOf(key) >= 0) {//查找
   
      arr.push(this.data.array[i])
     }
    }
    console.log(arr);
    if (arr.length == 0) {
     that.setData({
      newsList:[
        {name:'没有找到'}
      ]
     })
    } else {
     that.setData({
      newsList: arr//在页面显示找到的数据
     })
    }
},
// wxSerchFocus: function (e) {
//   this.search(e.detail.value);
//  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: async function (options) {
    var that = this;
    
    const total = await (await DB.count()).total
    const batchTimes = Math.ceil(total / 20)
    console.log(batchTimes) 
    let arraypro = []
    let x = 0 
    for (let i = 0; i < batchTimes; i++) {
      //分组获取
      DB.skip(i * 20).get({
        success: function (res) {
          x += 1
          // 20个20个的获取 最后一次不够20 那就是剩下的
          for (let j = 0; j < res.data.length; j++) {
            arraypro.push(res.data[j])
          }
          //判断是否是最后一次，如果是说明已经不用再继续获取了，这时候就可以赋值了
          if (x == batchTimes) {
            console.log(arraypro)
            that.setData({
              array: arraypro
            })
            console.log(that.data.array)
          }
        }
      })
    }
  
    // DB.get({
    //   //如果查询成功的话    
    //   success(res) {
    //    console.log(res.data)
    //     //这一步很重要，给ne赋值，没有这一步的话，前台就不会显示值      
    //     that.setData({
    //       array: res.data
    //     })
    //   }
    // })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})



